<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Namespace: ProtoBuf</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Namespace: ProtoBuf</h1>

    




<section>

<header>
    
        <h2>
        ProtoBuf
        </h2>
        
    
</header>

<article>
    <div class="container-overview">
    
        
            <div class="description"><p>The ProtoBuf namespace.</p></div>
        

        


<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line40">line 40</a>
    </li></ul></dd>
    

    

    

    
</dl>


        
    
    </div>

    

    

    
        <h3 class="subsection-title">Classes</h3>

        <dl>
            <dt><a href="ProtoBuf.Builder.html">Builder</a></dt>
            <dd></dd>
        
            <dt><a href="ProtoBuf.Map.html">Map</a></dt>
            <dd></dd>
        </dl>
    

     

    
        <h3 class="subsection-title">Namespaces</h3>

        <dl>
            <dt><a href="ProtoBuf.DotProto.html">DotProto</a></dt>
            <dd></dd>
        
            <dt><a href="ProtoBuf.Reflect.html">Reflect</a></dt>
            <dd></dd>
        
            <dt><a href="ProtoBuf.Util.html">Util</a></dt>
            <dd></dd>
        </dl>
    

    
        <h3 class="subsection-title">Members</h3>

        
            
<h4 class="name" id=".ByteBuffer"><span class="type-signature">(static, non-null) </span>ByteBuffer<span class="type-signature"> :function</span></h4>






    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">function</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line46">line 46</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".convertFieldsToCamelCase"><span class="type-signature">(static) </span>convertFieldsToCamelCase<span class="type-signature"> :boolean</span></h4>




<div class="description">
    <p>If set to <code>true</code>, field names will be converted from underscore notation to camel case. Defaults to <code>false</code>.
 Must be set prior to parsing.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line274">line 274</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".ID_MAX"><span class="type-signature">(static, constant) </span>ID_MAX<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Maximum field id.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line266">line 266</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".ID_MIN"><span class="type-signature">(static, constant) </span>ID_MIN<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Minimum field id.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line258">line 258</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".Lang"><span class="type-signature">(static, non-null) </span>Lang<span class="type-signature"> :Object.&lt;string, !RegExp></span></h4>




<div class="description">
    <p>Language expressions.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object.&lt;string, !RegExp></span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line414">line 414</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".Long"><span class="type-signature">(static, nullable) </span>Long<span class="type-signature"> :function</span></h4>






    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">function</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line52">line 52</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".MAP_KEY_TYPES"><span class="type-signature">(static, constant, non-null) </span>MAP_KEY_TYPES<span class="type-signature"> :Array.&lt;!Object.&lt;string, {name: string, wireType: number, defaultValue: *}>></span></h4>




<div class="description">
    <p>Valid map key types.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Array.&lt;!Object.&lt;string, {name: string, wireType: number, defaultValue: *}>></span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line236">line 236</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".PACKABLE_WIRE_TYPES"><span class="type-signature">(static, constant, non-null) </span>PACKABLE_WIRE_TYPES<span class="type-signature"> :Array.&lt;number></span></h4>




<div class="description">
    <p>Packable wire types.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Array.&lt;number></span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line123">line 123</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".populateAccessors"><span class="type-signature">(static) </span>populateAccessors<span class="type-signature"> :boolean</span></h4>




<div class="description">
    <p>By default, messages are populated with (setX, set_x) accessors for each field. This can be disabled by
 setting this to <code>false</code> prior to building messages.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line282">line 282</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".populateDefaults"><span class="type-signature">(static) </span>populateDefaults<span class="type-signature"> :boolean</span></h4>




<div class="description">
    <p>By default, messages are populated with default values if a field is not present on the wire. To disable
 this behavior, set this setting to <code>false</code>.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line290">line 290</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".TYPES"><span class="type-signature">(static, constant, non-null) </span>TYPES<span class="type-signature"> :Object.&lt;string, {name: string, wireType: number, defaultValue: *}></span></h4>




<div class="description">
    <p>Types.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object.&lt;string, {name: string, wireType: number, defaultValue: *}></span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line136">line 136</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".VERSION"><span class="type-signature">(static, constant) </span>VERSION<span class="type-signature"> :string</span></h4>




<div class="description">
    <p>ProtoBuf.js version.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line60">line 60</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".WIRE_TYPES"><span class="type-signature">(static, constant) </span>WIRE_TYPES<span class="type-signature"> :Object.&lt;string, number></span></h4>




<div class="description">
    <p>Wire types.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object.&lt;string, number></span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line68">line 68</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".WIRE_TYPES.BITS32"><span class="type-signature">(static, constant) </span>WIRE_TYPES.BITS32<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Fixed 32 bits wire type.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line115">line 115</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".WIRE_TYPES.BITS64"><span class="type-signature">(static, constant) </span>WIRE_TYPES.BITS64<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Fixed 64 bits wire type.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line83">line 83</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".WIRE_TYPES.ENDGROUP"><span class="type-signature">(static, constant) </span>WIRE_TYPES.ENDGROUP<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>End group wire type.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line107">line 107</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".WIRE_TYPES.LDELIM"><span class="type-signature">(static, constant) </span>WIRE_TYPES.LDELIM<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Length delimited wire type.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line91">line 91</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".WIRE_TYPES.STARTGROUP"><span class="type-signature">(static, constant) </span>WIRE_TYPES.STARTGROUP<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Start group wire type.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line99">line 99</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id=".WIRE_TYPES.VARINT"><span class="type-signature">(static) </span>WIRE_TYPES.VARINT<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Varint wire type.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line75">line 75</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
    

    
        <h3 class="subsection-title">Methods</h3>

        
            

    

    <h4 class="name" id=".loadJson"><span class="type-signature">(static) </span>loadJson<span class="signature">(json, builder<span class="signature-attributes">opt</span>, filename<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>

    



<div class="description">
    <p>Loads a .json definition and returns the Builder.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>json</code></td>
            

            <td class="type">
            
                
<span class="param-type">*</span>
|

<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>JSON definition</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>builder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
|

<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder to append to. Will create a new one if omitted.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>filename</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>The corresponding file name if known. Must be specified for imports.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line5217">line 5217</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>If the definition cannot be parsed or built</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type">Error</span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Builder to create new messages</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id=".loadJsonFile"><span class="type-signature">(static) </span>loadJsonFile<span class="signature">(filename, callback<span class="signature-attributes">opt</span>, builder<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>|undefined}</span></h4>

    



<div class="description">
    <p>Loads a .json file and returns the Builder.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>filename</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Path to json file or an object specifying 'file' with
 an overridden 'root' path for all imported files.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>callback</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Callback that will receive <code>null</code> as the first and
 the Builder as its second argument on success, otherwise the error as its first argument. If omitted, the
 file will be read synchronously and this function will return the Builder.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>builder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder to append to. Will create a new one if omitted.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line5242">line 5242</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>The Builder if synchronous (no callback specified, will be NULL if the
  request has failed), else undefined</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
|

<span class="param-type">undefined</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id=".loadProto"><span class="type-signature">(static) </span>loadProto<span class="signature">(proto, builder<span class="signature-attributes">opt</span>, filename<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>

    



<div class="description">
    <p>Loads a .proto string and returns the Builder.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>proto</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>.proto file contents</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>builder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
|

<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder to append to. Will create a new one if omitted.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>filename</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>The corresponding file name if known. Must be specified for imports.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line5124">line 5124</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>If the definition cannot be parsed or built</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type">Error</span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Builder to create new messages</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id=".loadProtoFile"><span class="type-signature">(static) </span>loadProtoFile<span class="signature">(filename, callback<span class="signature-attributes">opt</span>, builder<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>|undefined}</span></h4>

    



<div class="description">
    <p>Loads a .proto file and returns the Builder.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>filename</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Path to proto file or an object specifying 'file' with
 an overridden 'root' path for all imported files.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>callback</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Callback that will receive <code>null</code> as the first and
 the Builder as its second argument on success, otherwise the error as its first argument. If omitted, the
 file will be read synchronously and this function will return the Builder.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>builder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder to append to. Will create a new one if omitted.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line5155">line 5155</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>The Builder if synchronous (no callback specified, will be NULL if the
  request has failed), else undefined</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
|

<span class="param-type">undefined</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id=".newBuilder"><span class="type-signature">(static) </span>newBuilder<span class="signature">(options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>

    



<div class="description">
    <p>Constructs a new empty Builder.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object.&lt;string, *></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder options, defaults to global options set on ProtoBuf</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line5199">line 5199</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Builder</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id=".protoFromFile"><span class="type-signature">(static) </span>protoFromFile<span class="signature">(filename, callback<span class="signature-attributes">opt</span>, builder<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>|undefined}</span></h4>

    



<div class="description">
    <p>Loads a .proto file and returns the Builder. This is an alias of <a href="ProtoBuf.html#.loadProtoFile">ProtoBuf.loadProtoFile</a>.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>filename</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Path to proto file or an object specifying 'file' with
 an overridden 'root' path for all imported files.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>callback</code></td>
            

            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Callback that will receive <code>null</code> as the first and
 the Builder as its second argument on success, otherwise the error as its first argument. If omitted, the
 file will be read synchronously and this function will return the Builder.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>builder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder to append to. Will create a new one if omitted.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line5190">line 5190</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>The Builder if synchronous (no callback specified, will be NULL if the
  request has failed), else undefined</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
|

<span class="param-type">undefined</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id=".protoFromString"><span class="type-signature">(static) </span>protoFromString<span class="signature">(proto, builder<span class="signature-attributes">opt</span>, filename<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>

    



<div class="description">
    <p>Loads a .proto string and returns the Builder. This is an alias of <a href="ProtoBuf.html#.loadProto">ProtoBuf.loadProto</a>.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>proto</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>.proto file contents</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>builder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
|

<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder to append to. Will create a new one if omitted.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>filename</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>
|

<span class="param-type">Object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>The corresponding file name if known. Must be specified for imports.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line5141">line 5141</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>If the definition cannot be parsed or built</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type">Error</span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Builder to create new messages</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


    </dd>
</dl>

    



        
    

    

    
</article>

</section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ProtoBuf.Builder.html">Builder</a></li><li><a href="ProtoBuf.Builder.Message.html">Message</a></li><li><a href="ProtoBuf.Builder.Service.html">Service</a></li><li><a href="ProtoBuf.DotProto.Parser.html">Parser</a></li><li><a href="ProtoBuf.DotProto.Tokenizer.html">Tokenizer</a></li><li><a href="ProtoBuf.Map.html">Map</a></li><li><a href="ProtoBuf.Reflect.Element.html">Element</a></li><li><a href="ProtoBuf.Reflect.Enum.html">Enum</a></li><li><a href="ProtoBuf.Reflect.Enum.Value.html">Value</a></li><li><a href="ProtoBuf.Reflect.Extension.html">Extension</a></li><li><a href="ProtoBuf.Reflect.Message.html">Message</a></li><li><a href="ProtoBuf.Reflect.Message.ExtensionField.html">ExtensionField</a></li><li><a href="ProtoBuf.Reflect.Message.Field.html">Field</a></li><li><a href="ProtoBuf.Reflect.Message.OneOf.html">OneOf</a></li><li><a href="ProtoBuf.Reflect.Namespace.html">Namespace</a></li><li><a href="ProtoBuf.Reflect.Service.html">Service</a></li><li><a href="ProtoBuf.Reflect.Service.Method.html">Method</a></li><li><a href="ProtoBuf.Reflect.Service.RPCMethod.html">RPCMethod</a></li><li><a href="ProtoBuf.Reflect.T.html">T</a></li></ul><h3>Namespaces</h3><ul><li><a href="ProtoBuf.html">ProtoBuf</a></li><li><a href="ProtoBuf.DotProto.html">DotProto</a></li><li><a href="ProtoBuf.Reflect.html">Reflect</a></li><li><a href="ProtoBuf.Util.html">Util</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.3</a> on Fri Jan 27 2017 17:03:55 GMT+0100 (Mitteleuropäische Zeit)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>